home *** CD-ROM | disk | FTP | other *** search
- on movCatClick sN
- if voidp(sN) then
- set sN to the clickOn
- end if
- hiliteAnim(sN, EMPTY)
- set theCat to line sN - 8 of field "MOVTXT_CN"
- if theCat = "Interviews" then
- openIV()
- else
- LoadStageCat(theCat)
- end if
- end
-
- on LinkStageFromLine theLine
- global gStageCategory, gStageData, gStageRecs, gStageState, gLinkBack
- if theLine = -1 then
- exit
- end if
- spinCursor()
- set numRecs to the number of items in gStageRecs
- set curRecord to value(item theLine of gStageRecs)
- spinCursor()
- put curRecord & RETURN & theLine & RETURN & numRecs into line 1 to 3 of gStageState
- set gLinkBack to "LinkTo " & QUOTE & the frameLabel & QUOTE
- showQT(curRecord)
- startMouse()
- end
-
- on LoadStageCat theCat
- global gResourcePath, gStageCategory, gStageRecs
- set gStageCategory to theCat
- set theLine to LineOffset(gStageCategory, field "MOVTXT_CN")
- set gStageRecs to line value(theLine) of field "MOVTXT_CD"
- LinkTo("Stage " & value(theLine))
- end
-
- on showQT theRec
- global gLinkBack, gStageNum, gOnPC, gSysVol, gVideoDouble, gMovieStartMod, gMovUserViewed, gLastPalette
- spinCursor()
- stopAiff()
- hidePuppets()
- set firstFrame to label("Stage BG") - 1
- set theData to line theRec of field "MOVTXT_1"
- debug("R: " & theRec)
- set the itemDelimiter to "|"
- set theFile to item 1 of theData
- if getOne(gMovUserViewed, theFile) = 0 then
- add(gMovUserViewed, theFile)
- end if
- set newPal to item 2 of theData
- set theLoop to item 5 of theData
- set frameNum to item 7 of theData
- set theCaption to putBackChars(item 8 of theData)
- set theVolume to item 9 of theData
- set canDouble to value(item 10 of theData)
- put theCaption into field "Stage Caption"
- set the itemDelimiter to ","
- set the visible of sprite 35 to 0
- puppetPalette(value(the framePalette))
- go("Black Stage")
- set gLastPalette to value(the number of cast newPal)
- pause()
- puppetPalette(gLastPalette)
- dissolveEffect()
- go(frameNum + firstFrame)
- puppetPalette(gLastPalette)
- updatePalette()
- if (gVideoDouble = 1) and (canDouble = 1) then
- puppetSprite(35, 1)
- set the castNum of sprite 35 to the castNum of sprite 35
- set centerPoint to point(the locH of sprite 35, the locV of sprite 35)
- set the rect of sprite 35 to (2 * the rect of sprite 35) - rect(centerPoint, centerPoint)
- end if
- set the movieTime of sprite 35 to gMovieStartMod
- set the visible of sprite 35 to 1
- if gOnPC = 1 then
- puppetPalette(gLastPalette)
- set the visible of sprite 35 to 1
- end if
- updateStage()
- set letPass to 0
- if theVolume = EMPTY then
- set theVolume to gSysVol
- else
- set theVolume to integer(gSysVol * (float(theVolume) / float(255)))
- set theVolume to integer(theVolume * 1.5)
- if theVolume > 255 then
- set theVolume to 255
- end if
- end if
- set the volume of sprite 35 to 0
- updateStage()
- continue()
- stopCursor()
- preRollMov(35)
- set the volume of sprite 35 to theVolume
- repeat while the movieRate of sprite 35 > 0
- if the mouseDown then
- set letPass to 1
- set the movieRate of sprite 35 to 0
- exit repeat
- end if
- updateStage()
- end repeat
- spinCursor()
- set the visible of sprite 35 to 0
- if gVideoDouble = 1 then
- puppetSprite(35, 0)
- end if
- puppetPalette(gLastPalette)
- updatePalette()
- pause()
- dissolveEffect()
- if gOnPC then
- LinkTo("Black Stage")
- else
- go("Black Stage")
- end if
- puppetPalette(0)
- continue()
- if (letPass <> 1) or (clickInStage() = 0) then
- movieDone()
- end if
- end
-
- on clickInStage
- set a to the clickLoc
- delete char 1 to 6 of a
- delete char the length of a of a
- set sL to the stageLeft
- set sT to the stageTop
- put integer(value(item 1 of a + sL)) into item 1 of a
- put integer(value(item 2 of a + sT)) into item 2 of a
- put "point(" before a
- put ")" after a
- set r to inside(value(a), the rect of the stage)
- return r
- end
-
- on movieDone
- LinkBack()
- resetCursor()
- end
-